package com.hmall.ebiz.model;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author Thomas Wang
 * @since 2019-02-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="DbConfig对象", description="")
public class DbConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("db_name")
    private String dbName;

    @ApiModelProperty(value = "数据库描述")
    @TableField("db_description")
    private String dbDescription;

    @ApiModelProperty(value = "数据库类型 ")
    @TableField("db_type")
    private String dbType;

    @ApiModelProperty(value = "数据库url")
    @TableField("db_url")
    private String dbUrl;

    @ApiModelProperty(value = "用户名")
    @TableField("db_username")
    private String dbUsername;

    @ApiModelProperty(value = "密码")
    @TableField("db_password")
    private String dbPassword;

    @ApiModelProperty(value = "数据库驱动")
    @TableField("db_driver_name")
    private String dbDriverName;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    @ApiModelProperty(value = "作者")
    @TableField("author")
    private String author;

    @ApiModelProperty(value = "输出路径")
    @TableField("output_file")
    private String outputFile;

    @ApiModelProperty(value = "ActvieRecord属性  0:是 1:否")
    @TableField("actvie_record")
    private Integer actvieRecord;

    @ApiModelProperty(value = "是否使用二级缓存 0:是 1:否")
    @TableField("second_level_cache")
    private Integer secondLevelCache;

    @ApiModelProperty(value = "是否生成kotlin代码")
    @TableField("kotlin")
    private Integer kotlin;

    @ApiModelProperty(value = "是否生成表列")
    @TableField("generate_list")
    private Integer generateList;

    @ApiModelProperty(value = "是否生成ResultMap")
    @TableField("result_map")
    private Integer resultMap;

    @ApiModelProperty(value = "是否文件覆盖")
    @TableField("cover")
    private Integer cover;

    @TableField("prefix")
    private String prefix;

    @ApiModelProperty(value = "是否生成Lombok实体")
    @TableField("lomback")
    private Integer lomback;

    @ApiModelProperty(value = "是否为构建者模型")
    @TableField("builder_model")
    private Integer builderModel;

    @ApiModelProperty(value = "是否生成字段常量")
    @TableField("field_constants")
    private Integer fieldConstants;

    @ApiModelProperty(value = "父级包名")
    @TableField("parent_package_name")
    private String parentPackageName;

    @ApiModelProperty(value = "控制器包名")
    @TableField("controller_package_name")
    private String controllerPackageName;

    @ApiModelProperty(value = "实体包名")
    @TableField("entity_package_name")
    private String entityPackageName;

    @ApiModelProperty(value = "Mapper包名")
    @TableField("mapper_package_name")
    private String mapperPackageName;

    @ApiModelProperty(value = "xml包名")
    @TableField("xml_package_name")
    private String xmlPackageName;

    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "是否公用，默认1  0:是 1:否")
    @TableField("is_public")
    private Integer isPublic;


}
